package ldh.im.rpc.connection.executor;

import ldh.im.rpc.connection.handle.RpcContext;

/**
 * rpc 路由处理器
 */
public interface RpcRouterExecutor {

    /**
     * 同步处理
     * @param path
     * @param context
     * @param para
     * @param <T>
     * @return
     */
    <T>T executor(String path, RpcContext context, Object para);

    /**
     * 异步处理
     * @param path  路径
     * @param mustResult 是否必须对客户进行返回
     * @param param
     * @return
     */
    void asyncExecutor(boolean mustResult, String path, RpcContext context, Object param);
}
